package com.jingdianjichi.practice.server.service.Impl;

import com.jingdianjichi.practice.api.common.Result;
import com.jingdianjichi.practice.api.req.*;
import com.jingdianjichi.practice.api.vo.RankVO;
import com.jingdianjichi.practice.api.vo.ReportVO;
import com.jingdianjichi.practice.api.vo.ScoreDetailVO;
import com.jingdianjichi.practice.api.vo.SubjectDetailVO;
import com.jingdianjichi.practice.server.entity.po.PracticeDetailPO;

import java.util.List;

/**
 * ClassName:PracticeDetailService
 * Package:com.jingdianjichi.practice.server.service.Impl
 * Description:
 *
 * @Author fst
 * @Create 2025/1/21 11:37
 * @Version 1.0
 */
public interface PracticeDetailService
{
    Result<Boolean> submit(SubmitPracticeDetailReq req);

    void submitSubject(SubmitSubjectDetailReq submitSubjectDetailReq);

    List<ScoreDetailVO> getScoreDetail(GetScoreDetailReq req);

    SubjectDetailVO getSubjectDetail(GetSubjectDetailReq req);

    ReportVO getReport(GetReportReq req);

    List<RankVO> getPracticeRankList();

    void giveUp(Long practiceId);
}
